/*
* Copyright 2025 NXP
* NXP Proprietary. This software is owned or controlled by NXP and may only be used strictly in
* accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing,
* activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to
* comply with and are bound by, such license terms.  If you do not agree to be bound by the applicable license
* terms, then you may not retain, install, activate or otherwise use the software.
*/

#ifndef GUI_GUIDER_H
#define GUI_GUIDER_H
#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"

typedef struct
{
  
	lv_obj_t *window_item_chem;
	bool window_item_chem_del;
	lv_obj_t *window_item_chem_label_64;
	lv_obj_t *window_item_chem_label_63;
	lv_obj_t *window_item_chem_imgbtn_back;
	lv_obj_t *window_item_chem_imgbtn_back_label;
	lv_obj_t *window_item_chem_label_12;
	lv_obj_t *window_item_chem_btn_list_last;
	lv_obj_t *window_item_chem_btn_list_last_label;
	lv_obj_t *window_item_chem_btn_list_next;
	lv_obj_t *window_item_chem_btn_list_next_label;
	lv_obj_t *window_item_chem_btn_lit_num;
	lv_obj_t *window_item_chem_btn_lit_num_label;
	lv_obj_t *window_item_chem_list_item;
	lv_obj_t *window_item_chem_list_item_item0;
	lv_obj_t *window_item_chem_list_item_item1;
	lv_obj_t *window_item_chem_list_item_item2;
	lv_obj_t *window_item_chem_list_item_item3;
	lv_obj_t *window_item_chem_list_item_item4;
	lv_obj_t *window_item_chem_list_item_item5;
	lv_obj_t *window_item_chem_list_item_item6;
	lv_obj_t *window_item_chem_label_65;
	lv_obj_t *window_item_chem_line_1;
	lv_obj_t *window_item_chem_img_2;
	lv_obj_t *window_item_chem_img_1;
	lv_obj_t *window_item_chem_imgbtn_printd;
	lv_obj_t *window_item_chem_imgbtn_printd_label;
	lv_obj_t *window_item_chem_label_67;
	lv_obj_t *window_item_chem_label_68;
	lv_obj_t *window_item_chem_label_69;
	lv_obj_t *window_item_chem_imgbtn_export;
	lv_obj_t *window_item_chem_imgbtn_export_label;
	lv_obj_t *window_item_chem_label_70;
	lv_obj_t *window_item_chem_imgbtn_inport;
	lv_obj_t *window_item_chem_imgbtn_inport_label;
	lv_obj_t *window_item_chem_imgbtn_save;
	lv_obj_t *window_item_chem_imgbtn_save_label;
	lv_obj_t *window_item_chem_label_71;
	lv_obj_t *window_item_chem_label_72;
	lv_obj_t *window_item_chem_imgbtn_delete;
	lv_obj_t *window_item_chem_imgbtn_delete_label;
	lv_obj_t *window_item_chem_label_73;
	lv_obj_t *window_item_chem_imgbtn_add;
	lv_obj_t *window_item_chem_imgbtn_add_label;
	lv_obj_t *window_item_chem_digital_clock;
	lv_obj_t *window_item_chem_imgbtn_logo;
	lv_obj_t *window_item_chem_imgbtn_logo_label;
	lv_obj_t *window_item_chem_line_2;
	lv_obj_t *window_item_chem_label_user;
	lv_obj_t *window_item_chem_imgbtn_user;
	lv_obj_t *window_item_chem_imgbtn_user_label;
	lv_obj_t *window_item_chem_tabview_content;
	lv_obj_t *window_item_chem_tabview_content_tab_1;
	lv_obj_t *window_item_chem_tabview_content_tab_2;
	lv_obj_t *window_item_chem_tabview_content_tab_3;
	lv_obj_t *window_item_chem_label_bg_title16;
	lv_obj_t *window_item_chem_label_uniit_bkg;
	lv_obj_t *window_item_chem_label_bg_title13;
	lv_obj_t *window_item_chem_label_bg_title12;
	lv_obj_t *window_item_chem_label_bg_title11;
	lv_obj_t *window_item_chem_label_bg_title10;
	lv_obj_t *window_item_chem_label_bg_title9;
	lv_obj_t *window_item_chem_label_bg_title8;
	lv_obj_t *window_item_chem_label_bg_title7;
	lv_obj_t *window_item_chem_label_bg_title6;
	lv_obj_t *window_item_chem_label_bg_title5;
	lv_obj_t *window_item_chem_label_bg_title4;
	lv_obj_t *window_item_chem_label_bg_title3;
	lv_obj_t *window_item_chem_label_bg_title2;
	lv_obj_t *window_item_chem_ta_reference_value;
	lv_obj_t *window_item_chem_label_reference_title;
	lv_obj_t *window_item_chem_label_test_method_title;
	lv_obj_t *window_item_chem_label_temp_title;
	lv_obj_t *window_item_chem_label_s_wave_title;
	lv_obj_t *window_item_chem_label_m_wave_title;
	lv_obj_t *window_item_chem_ta_factor_b;
	lv_obj_t *window_item_chem_label_item;
	lv_obj_t *window_item_chem_label_unit;
	lv_obj_t *window_item_chem_label_blank_type_title;
	lv_obj_t *window_item_chem_label_x;
	lv_obj_t *window_item_chem_label_y;
	lv_obj_t *window_item_chem_ddlist_sub_wave;
	lv_obj_t *window_item_chem_label_cal_method;
	lv_obj_t *window_item_chem_label_test_time;
	lv_obj_t *window_item_chem_label_factor;
	lv_obj_t *window_item_chem_ddlist_cal_method;
	lv_obj_t *window_item_chem_ta_delay_time;
	lv_obj_t *window_item_chem_ddlist_unit;
	lv_obj_t *window_item_chem_label_reagent_volunme;
	lv_obj_t *window_item_chem_label_sample_volume;
	lv_obj_t *window_item_chem_ta_test_temp;
	lv_obj_t *window_item_chem_label_82;
	lv_obj_t *window_item_chem_ddlist_blank;
	lv_obj_t *window_item_chem_ddlist_test_method;
	lv_obj_t *window_item_chem_ta_test_time;
	lv_obj_t *window_item_chem_ddlist_mian_wave;
	lv_obj_t *window_item_chem_ta_sample_volume;
	lv_obj_t *window_item_chem_ta_reagent_volume;
	lv_obj_t *window_item_chem_ta_factor_x;
	lv_obj_t *window_item_chem_ta_item_name;
	lv_obj_t *window_item_chem_cont_qc1;
	lv_obj_t *window_item_chem_label_qc_title;
	lv_obj_t *window_item_chem_label_target;
	lv_obj_t *window_item_chem_label_SD;
	lv_obj_t *window_item_chem_label_sreila_num;
	lv_obj_t *window_item_chem_ta_target;
	lv_obj_t *window_item_chem_ta_SD;
	lv_obj_t *window_item_chem_ta_sreila_num;
	lv_obj_t *window_item_chem_cont_qc2;
	lv_obj_t *window_item_chem_label_100;
	lv_obj_t *window_item_chem_label_99;
	lv_obj_t *window_item_chem_label_98;
	lv_obj_t *window_item_chem_label_97;
	lv_obj_t *window_item_chem_ta_13;
	lv_obj_t *window_item_chem_ta_12;
	lv_obj_t *window_item_chem_ta_11;
	lv_obj_t *window_item_chem_cont_qc3;
	lv_obj_t *window_item_chem_label_qc3_title;
	lv_obj_t *window_item_chem_label_103;
	lv_obj_t *window_item_chem_label_102;
	lv_obj_t *window_item_chem_label_101;
	lv_obj_t *window_item_chem_ta_16;
	lv_obj_t *window_item_chem_ta_15;
	lv_obj_t *window_item_chem_ta_14;
	lv_obj_t *window_item_chem_label_89;
	lv_obj_t *window_item_chem_label_86;
	lv_obj_t *window_item_chem_label_88;
	lv_obj_t *window_item_chem_label_90;
	lv_obj_t *window_item_chem_label_93;
	lv_obj_t *window_item_chem_label_87;
	lv_obj_t *window_item_chem_label_94;
	lv_obj_t *window_item_chem_label_91;
	lv_obj_t *window_item_chem_label_96;
	lv_obj_t *window_item_chem_ddlist_1;
	lv_obj_t *window_item_chem_label_84;
	lv_obj_t *window_item_chem_ta_1;
	lv_obj_t *window_item_chem_ta_3;
	lv_obj_t *window_item_chem_ta_4;
	lv_obj_t *window_item_chem_ta_8;
	lv_obj_t *window_item_chem_ta_9;
	lv_obj_t *window_item_chem_ta_7;
	lv_obj_t *window_item_chem_ta_10;
	lv_obj_t *window_item_chem_label_85;
	lv_obj_t *window_item_chem_ta_2;
	lv_obj_t *window_item_chem_ta_6;
	lv_obj_t *window_item_chem_label_95;
	lv_obj_t *window_item_chem_label_92;
	lv_obj_t *window_item_chem_ta_5;
	lv_obj_t *g_kb_top_layer;
}lv_ui;

typedef void (*ui_setup_scr_t)(lv_ui * ui);

void ui_init_style(lv_style_t * style);

void ui_load_scr_animation(lv_ui *ui, lv_obj_t ** new_scr, bool new_scr_del, bool * old_scr_del, ui_setup_scr_t setup_scr,
                           lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool is_clean, bool auto_del);

void ui_animation(void * var, int32_t duration, int32_t delay, int32_t start_value, int32_t end_value, lv_anim_path_cb_t path_cb,
                       uint16_t repeat_cnt, uint32_t repeat_delay, uint32_t playback_time, uint32_t playback_delay,
                       lv_anim_exec_xcb_t exec_cb, lv_anim_start_cb_t start_cb, lv_anim_ready_cb_t ready_cb, lv_anim_deleted_cb_t deleted_cb);


void init_scr_del_flag(lv_ui *ui);

void setup_ui(lv_ui *ui);

void init_keyboard(lv_ui *ui);

extern lv_ui guider_ui;


void setup_scr_window_item_chem(lv_ui *ui);
LV_IMG_DECLARE(_index_white_alpha_35x31);
LV_IMG_DECLARE(_blood_grey256_alpha_26x23);
LV_IMG_DECLARE(_chem_blue256_alpha_26x23);
LV_IMG_DECLARE(_printer_white_alpha_25x27);
LV_IMG_DECLARE(_reagent_grey_alpha_25x27);
LV_IMG_DECLARE(_exit_white_alpha_26x29);
LV_IMG_DECLARE(_reagent_grey_alpha_26x29);
LV_IMG_DECLARE(_inport_white_alpha_28x31);
LV_IMG_DECLARE(_inport_grey_alpha_28x31);
LV_IMG_DECLARE(_save_white_alpha_25x30);
LV_IMG_DECLARE(_save_grey_alpha_25x30);
LV_IMG_DECLARE(_delete_white_alpha_36x34);
LV_IMG_DECLARE(_delete_grey_alpha_36x34);
LV_IMG_DECLARE(_new_white_alpha_32x32);
LV_IMG_DECLARE(_new_grey_alpha_32x32);
LV_IMG_DECLARE(_logo_En_alpha_73x20);
LV_IMG_DECLARE(_new_grey_alpha_73x20);
LV_IMG_DECLARE(_tem_normal_select_alpha_17x17);

LV_FONT_DECLARE(lv_font_montserratMedium_16)
LV_FONT_DECLARE(lv_font_montserratMedium_12)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_22)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_25)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_16)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_12)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_15)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_17)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_11)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_14)
LV_FONT_DECLARE(lv_font_SourceHanSerifSC_Regular_19)


#ifdef __cplusplus
}
#endif
#endif
